package com.guodi.model.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.guodi.core.mp.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@ApiModel(value="用户")
@TableName("SYS_USER")
public class User extends BaseEntity {

    @ApiModelProperty("用户编号")
    private String userCode;

    @ApiModelProperty("账号")
    private String account;

    @ApiModelProperty("密码")
    private String password;

    @ApiModelProperty("真名")
    private String userName;

    @ApiModelProperty("头像")
    private String avatar;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("手机号")
    private String phone;

    @ApiModelProperty("生日")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    @ApiModelProperty("性别")
    private Integer sex;

    @ApiModelProperty("身份证")
    private String identityCard;

    @ApiModelProperty("单位ID")
    private Long unitId;

    @ApiModelProperty("业务状态")
    private Integer status;

    @ApiModelProperty("签名账号")
    private String sign;

    @ApiModelProperty("签名密码")
    private String signPwd;

    @ApiModelProperty("登录错误次数")
    private Integer errorCount;

    @ApiModelProperty("排序")
    private Integer sort;

    @ApiModelProperty("密码到期时间")
    private Date passwordExpireTime;

    @ApiModelProperty("上次登录时间")
    private Date lastLoginTime;

    @ApiModelProperty("是否修改过密码(0-否,1-是)")
    private Integer isModPassword;

    @ApiModelProperty("memo1")
    private String memo1;

    @ApiModelProperty("memo2")
    private String memo2;

    @ApiModelProperty("memo3")
    private String memo3;

    @ApiModelProperty("memo4")
    private String memo4;

    @ApiModelProperty("memo5")
    private String memo5;

    @ApiModelProperty("memo6")
    private String memo6;

    @ApiModelProperty("memo7")
    private String memo7;

    @ApiModelProperty("memo8")
    private String memo8;

    @ApiModelProperty("memo9")
    private String memo9;

    @ApiModelProperty("memo10")
    private String memo10;

    @ApiModelProperty("锁定时间")
    private Date lockTime;

    @ApiModelProperty("CA登录key")
    private String caIdentity;
}
